热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elasticsearch|Kibana安装和使用

文章目录前言一、ElasticsearchDocker安装二、KibanaDocker安装三、测试方法四、Elasticsearch简单使用五、整体的系统的使用方式六、Spring


文章目录

      • 前言
      • 一、Elasticsearch Docker安装
      • 二、Kibana Docker安装
      • 三、测试方法
      • 四、Elasticsearch简单使用
      • 五、整体的系统的使用方式
      • 六、Springboot整合ElasticSearch
      • 参考资料


前言

elasticsearch的前置知识可以看这里全文搜索引擎 Elasticsearch 入门教程 这里从概念的操作都有


一、Elasticsearch Docker安装

// 拉镜像, 记得带版本号
docker pull elasticsearch:7.2.0// 运行容器,注意自己的内存大小,默认1G,这里设置成256m
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2

验证地址
http:ip地址:9200

如过以上执行后不起来,删除容器,执行这个(有错误原因是内存大小和缺少配置)

// 删除容器
docker rm ES01
// 配置内存大小vi /etc/sysctl.conf 在末尾加上 vm.max_map_count=262144
// 重启构建容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2

过了一会,容器又Exited (137),查了下分配内存不够的原因,还是需要内存的,7.6.2的版本256m看来不是很够,还是要更大的,内存小的还是安装低版本的吧(6.4.3可)

需要高版本又没那么大的服务期还是虚拟机吧

至于为啥两个端口:


9200:使用http请求,所以我们的rest方式的client要使用这个端口进行访问
9300:使用tcp请求,是系统预留给es内部组件之间的通信方式


我后来安装了kibana后,发现我的破电脑跑不了这么多东西
就重新下了个低版本的(一开始7.2.0可以用,但是自从我给他挤爆了后,就起不来,就安装了低版本)
在这里插入图片描述
没办法,配置低
在这里插入图片描述
两天过去了,发现只是那时候没看日志,如果出问题可以使用

docker logs 容器名称/容器ID

来查看错误原因,如下,找到最后的[error]即可


二、Kibana Docker安装

因为内存大小原因我就不安装了,步骤很简单就下面

// 拉镜像
docker pull kibana:5.6.9// 运行容器,设置对应elasticsearch的地址
docker run --name kibana -e ELASTICSEARCH_URL=http://ip:9200 -p 5601:5601 -d kibana:7.2.0

验证地址
http://ip地址:5601


三、测试方法

我是使用postman进行测试的

get请求可以直接浏览器访问 | 命令行curl + 地址访问

post | put请求也可以使用 curl -X PUT + 地址访问 (注意PUT要大写)


四、Elasticsearch简单使用


  1. 查看集群的健康情况(get)

http://reentrantlock.cn:9200/_cat

在这里插入图片描述
2. 查看es的健康状况 (get)

http://reentrantlock.cn:9200/_cat/health?v

说明:v是用来要求在结果中返回表头
在这里插入图片描述
图片来自Elasticsearch解决健康状态异常问题
图片来自网络


  1. 查看所有索引 - 一开始应该只有表头(get)

http://reentrantlock.cn:9200/_cat/indices?v

在这里插入图片描述
4. 创建索引 - pretty作用同mongodb的pretty,用于返回结构化的数据(就是更好看的数据-结构(json)上)

http://reentrantlock.cn:9200/customer?pretty

在这里插入图片描述
这时候可以调用之前的查询索引查看变化

如果创建相同的索引会报错
在这里插入图片描述
5. 索引一个文档到customer索引中

http://reentrantlock.cn:9200/customer/_doc/1

在这里插入图片描述
6. 从customer索引中获取指定id的文档

http://reentrantlock.cn:9200/customer/_doc/1

在这里插入图片描述


  1. 获取指定索引下所有文档

http://reentrantlock.cn:9200/customer/_search

在这里插入图片描述
参数含义:


took: 是查询花费的时间,毫秒单位
time_out: 标识查询是否超时
_shards: 描述了查看分片的信息,查询了多少个分片、成功的分片数量、失败的分片数量等。
total: 代表当前ES里总数只有一条数据,不管你发送任何请求,ES都会把总数返回
hits: 搜索的结果,total是全部满足的文档数目,hits是返回的实际数目(默认是10)
_score: 是文档的分数信息,与排名相关度有关,参考各大搜索引擎的搜索结果,就容易理解
_index: 指定查询的索引(类似数据库的某个库)
_type: 指定查询的文档(类似数据库的某个表)
_id: 查询指定的id
_source: 查询返回的数据



五、整体的系统的使用方式

// TODO 完成官方的demo练习
完成了简单的使用后,觉得还是应该看下官网的demo好好走一次,为了结构不乱,我另开一篇专门说。


六、Springboot整合ElasticSearch

试了一个上午,发现各种版本会出现各种问题,找个时间另外发布一篇


参考资料


  1. Docker系列之Elasticsearch安装教程
  2. docker快速安装kibana
  3. ElasticSearch 最全详细使用教程
  4. ElasticSearch的介绍及使用
  5. 官网Demo

推荐阅读
author-avatar
迷途羔羊1989_751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有